package com.ruoyi.classai.domain.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 章节信息对象 ewc_chapter
 *
 * @author lcj
 * @date 2025-02-27
 */
@Data
@Schema(description="章节信息对象Dto")
public class EwcChapterDto implements Serializable{

    private static final long serialVersionUID = 1L;


    /** 章节唯一标识 */
    @Schema(description  = "章节唯一标识")
    private String id;

    /** 章节名称 */
    @Schema(description  = "章节名称")
    @NotBlank(message = "章节名称不能为空")
    private String chapterName;

    /** 章节简介 */
    @Schema(description  = "章节简介")
    private String chapterDescription;

    /** 课程id */
    @Schema(description  = "课程id")
    @NotBlank(message = "课程id不能为空")
    private String courseId;

    /**
     * 上课时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Excel(name = "上课时间", width = 30, dateFormat = "yyyy-MM-dd")
    @Schema(description  = "上课时间")
    private Date classTime;

    /**
     * 上课时间段
     */
    @Deprecated
    @Schema(description  = "上课时间段")
    private String classTimeSlot;

    /** 章节顺序 */
    @Schema(description  = "章节顺序")
    private Integer chapterSequence;

    /** 班级id */
    @Schema(description  = "班级id")
//    @NotBlank(message = "班级id不能为空")
    private String classId;


    /** 周次 */
    @Schema(description  = "周次")
    private String chapterWeekNumber;


    /** 课时 */
    @Schema(description  = "课时")
    private String chapterTime;


    /** 课次 */
    @Schema(description  = "课次")
    private String chapterLesson;


    /** 星期 */
    @Schema(description  = "星期")
    private String chapterWeek;


    /** 开始节次 */
    @Schema(description  = "开始节次")
    private String chapterStartOfClassSession;


    /** 结束节次 */
    @Schema(description  = "结束节次")
    private String chapterEndOfClassSession;

}
